package com.List;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.function.Consumer;

/**
 * List集合的遍历方式：for循环、增强for循环、迭代器、lambda表达式
 */
public class ListDemo2 {
    public static void main(String[] args) {
        //创建ArrayList集合,使用多态和泛型
        List<String> list=new ArrayList<>();
        list.add("java");
        list.add("python");
        list.add("scala");
        list.add("SpringBoot");
        System.out.println(list);

        //使用for循环遍历
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

        System.out.println("-----------------");
        //使用迭代器遍历(while循环)
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }


        System.out.println("-----------------");
        //使用增强for循环
        for (String s : list) {
            System.out.println(s);
        }


        System.out.println("-----------------");
        //使用lambda表达式（forEach）
        list.forEach(new Consumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });

        //简化
        list.forEach((String s) ->{ System.out.println(s); });
    }
}
